package com.lyf.scm.plan.domain.util.strategy;


import com.lyf.scm.plan.api.dto.OtherTargetEchartResultDTO;
import com.lyf.scm.plan.api.dto.OtherTargetGeneralQueryDTO;
import com.lyf.scm.plan.api.dto.OtherTargetResultDTO;
import com.lyf.scm.plan.domain.remote.item.dto.SkuUnitDTO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 其它指标处理策略模式时候的封装对象
 *
 * @author wangchlei
 * @date 2020/11/12
 */
public class OtherTargetContext {
    private OtherTargetStrategy otherTargetStrategy;

    public OtherTargetContext(OtherTargetStrategy otherTargetStrategy) {
        this.otherTargetStrategy = otherTargetStrategy;
    }

    /**
     * 获取列表结果集
     *
     * @param otherTargetGeneralQueryDTO
     * @return {@link OtherTargetResultDTO}
     **/
    public OtherTargetResultDTO getResult(OtherTargetGeneralQueryDTO otherTargetGeneralQueryDTO, Map<String, BigDecimal> map) {
        return otherTargetStrategy.getResult(otherTargetGeneralQueryDTO, map);
    }

    /**
     * 获取批量列表结果集
     *
     * @param otherTargetGeneralQueryDTO
     * @return {@link OtherTargetResultDTO}
     **/
    public List<OtherTargetResultDTO> getBatchResult(OtherTargetGeneralQueryDTO otherTargetGeneralQueryDTO, Map<String, BigDecimal> map) {
        return otherTargetStrategy.getBatchResult(otherTargetGeneralQueryDTO,map);
    }

    /**
     * 获取图表结果集
     *
     * @param otherTargetGeneralQueryDTO
     * @return {@link OtherTargetEchartResultDTO}
     **/
    public OtherTargetEchartResultDTO getEchartResult(OtherTargetGeneralQueryDTO otherTargetGeneralQueryDTO) {
        return otherTargetStrategy.getEchartResult(otherTargetGeneralQueryDTO);
    }

    /**
     * 获取图表结果集
     *
     * @param otherTargetGeneralQueryDTO
     * @return {@link OtherTargetEchartResultDTO}
     **/
    public List<OtherTargetEchartResultDTO> getBatchEchartResult(OtherTargetGeneralQueryDTO otherTargetGeneralQueryDTO) {
        return otherTargetStrategy.getBatchEchartResult(otherTargetGeneralQueryDTO);
    }
}
